home *** CD-ROM | disk | FTP | other *** search
/ SPACE 1 / SPACE - Library 1 - Volume 1.iso / program / 569 / gemfst17 / gemf_v17.doc < prev    next >
Text File  |  1992-06-01  |  12KB  |  284 lines

  1.  
  2.  GEMFAST v1.70.
  3.  09/02/91 by Ian Lepore.
  4.  
  5.  Version 1.70 of GemFast is a full release of the GemFast bindings.
  6.  
  7.  In GEMFST17.LZH you will find new new libraries (VDIFAST.A and AESFAST.A),
  8.  & new docs; see packing list in GEMFBIND.DOC for a full list of contents.
  9.  
  10.  All GemFast-related files can be found on BIX, in atari.st/listings.
  11.  
  12.  The primary reasons for this release are:
  13.     - Added the GDOS-detect function.
  14.     - Fixed VDI bugs, per buglist and fixes received from M. Jaegermann. 
  15.  
  16.      
  17.  INSTALLING THIS RELEASE:
  18.  
  19.   If you have received this file as part of the Heat-and-Serve Sozobon
  20.   release, no further action is necessary; the INSTALL.PRG program has
  21.   already taken care of it for you.
  22.  
  23.   (Detailed instructions for a first-time install are in GEMFBIND.DOC)
  24.  
  25.   Throw away the following files from your current release:
  26.  
  27.       AESFAST.A    VDIFAST.A    GEMFAST.H    
  28.       AESFAST.NDX  VDIFAST.NDX  (optional...used only with the aln linker)
  29.       GEMXTEND.DOC GEMF_V16.DOC
  30.       
  31.   Install the following files from the LZH:
  32.  
  33.     AESFAST.A    VDIFAST.A     GEMFAST.H    
  34.     GEMXTEND.DOC GEMF_V17.DOC
  35.  
  36.  If you are using the Atari 'aln' linker, be sure to create new .NDX files
  37.  by running the DOINDEX utility against the new bindings (.a files).
  38.  
  39. ;*************************************************************************
  40. ; GEMFAST v1.70 notes.
  41. ;*************************************************************************
  42.  
  43. Summary of changes to the bindings:
  44.  
  45.  - AES util frm_dsdial() was inadvertantly dropped from the v1.6 library,
  46.    it's back in now.  (Described in GEMUTIL.DOC).
  47.  
  48.  - Added function vgd_detect() (described in GEMXTEND.DOC) to detect GDOS.
  49.  
  50.  - Fixed VDI bindings for:
  51.  
  52.    - vsm_height() Had wrong vdi function number (ie, didn't work at all).
  53.    
  54.    - vr_trnfm()   This binding was added.
  55.    
  56.    - vgt_name()   These bindings were returning strings incorrectly. They 
  57.    - vsm_string() now work as per the DRI docs.  Also, vqt_name can handle
  58.    - vrq_string() up to 34 bytes (for fsm_gdos) not just 32.
  59.    
  60. ;*************************************************************************
  61. ; GEMFAST v1.60 notes.
  62. ;*************************************************************************
  63.  
  64. Summary of changes to the bindings:
  65.  
  66.  - There were no changes to the AES bindings.
  67.  
  68.  - Added 'roll your own' VDI function vdicall().  Doc'd in GEMXTEND.DOC.
  69.  
  70.  - Fixed (I hope) the vst_load_fonts() and vst_unload_fonts() bindings.
  71.    I really have no idea if the 'fix' will work.  Here's the deal:
  72.    The DRI docs say this function takes a parm in intin[0], which is
  73.    "reserved and must be zero".  Then, in the C-code binding example,
  74.    they show a parm of 'select', and say *that* goes in intin[0].  I
  75.    had originally coded the latter situation, with intin_count set to
  76.    1, and the value from the select parm stored into intin[0].  People
  77.    report that these functions would die  with 3 bombs.  Now, to make
  78.    it even more complex:  I disassembled these two functions from the
  79.    VDI bindings that came with Alcyon C.  In those bindings, the 
  80.    intin_count is set to zero, and there is no select parm in the C
  81.    function call.  I just love it when 3 sources of info give 3
  82.    conflicting versions of something.  Anyway, I've changed the bindings
  83.    in vdifast.a to match the way the original Alcyon bindings did it;
  84.    hopefully that'll fix the problem.  (If not, and you know the right
  85.    way to do it, just use vdicall(), and get the info back to me for
  86.    the next release.)
  87.    
  88. ;*************************************************************************
  89. ; GEMFAST v1.50 notes.
  90. ;*************************************************************************
  91.  
  92. Summary of changes to the bindings:
  93.  
  94.  - Added VDI function v_gchar().  This allows a very fast call to v_gtext()
  95.    to output a single character.  Documented in GEMXTEND.DOC.
  96.    
  97. ;*************************************************************************
  98. ; GEMFAST v1.40 notes.
  99. ;*************************************************************************
  100.  
  101. Summary of changes to the bindings:
  102.  
  103.  - Several alternate bindings have been added.  These are
  104.    documented in GEMXTEND.DOC.
  105.  
  106.  - The fsel_14input() function was added.  This is a no-emulation version
  107.    of the TOS 1.4 fsel_exinput() function.  If TOS 1.4 is available, the
  108.    fsel_exinput function is called, else the old fsel_input is called.
  109.  
  110. Summary of changes to the GEMFAST.H file:
  111.  
  112.  - The constants AESUTIL_A, AESFAST_A, and VDIFAST_A have been added.  
  113.    This allows full compile-time check of the runtime environment.
  114.    
  115.  - All elements in structures which were defined as 'long' but were 
  116.    really pointers to something are now defined as the appropriate type
  117.    of pointer.  This is gonna cause some existing code to break, but it
  118.    is about time to clean up this DRI-originated stupidity.  If your 
  119.    compiler is smart enough to warn you about pointer type mismatches,
  120.    you can clean up your existing code in just a few minutes. (And if your
  121.    compiler doesn't complain about mismatches, you're already all set.)
  122.    Comments in GEMFAST.H describe these pointer changes in more detail.
  123.  
  124.  - Added RSHDR structure for embedded RSC file support.
  125.  
  126. Summary of changes to the non-standard utilities:
  127.  
  128.  - The rsc_gstrings()/rcs_sstrings() functions now support ICON objects.
  129.  
  130.  - Added obj_rbselect() function.  This function deselects the current 
  131.    radio button in a group and selects a new one.  
  132.    
  133.  - Added obj_xtfind() function.  This function find an object with a given
  134.    extended object type within a tree/subtree.
  135.  
  136. ;*************************************************************************
  137. ; GEMFAST v1.30 notes.
  138. ;*************************************************************************
  139.  
  140. Summary of changes to the GEMFAST.H file:
  141.  
  142.  - The constant GEMFAST_H is now #define'd to 1.  This allows C source code
  143.    to detect whether the GEMFAST system is in use (and perhaps conditionally
  144.    include code for the utilties that may not be present under other
  145.    bindings systems).
  146.  
  147.  - Several new constants have been added to provide compatibility with MWC.
  148.    (EG, MWC uses ROOT instead of R_TREE, both are now defined).  Changes of
  149.    this nature should be transparent to existing applications, unless one
  150.    of the new constants conflicts with a name being used by the application.
  151.    
  152.  - The constants defining the VDI interior styles & patterns were originally
  153.    defined as IP_HOLLOW, etc, in the GEMDEFS.H file.  I had renamed these to
  154.    VIP_HOLLOW, etc, for GEMFAST.H.  At the request of several users, I've
  155.    added the old names back in.  The VIP_????? names will go away eventually.
  156.    The names of the object colors have also been added back in.
  157.    
  158.  - Lots of #define statements have been added to support the old names of
  159.    utility functions which have been renamed within the bindings.
  160.  
  161. Summary of changes to the non-standard utilities:
  162.  
  163.  - Routine objcl_calc() is in the process of being phased out.  Don't
  164.    use it any more.
  165.    
  166.  - Many of the utility functions have been renamed.  The old names will
  167.    continue to be supported for some time via #define statements in the
  168.    GEMFAST.H file.  Full details on this are available in GEMUTIL.DOC, the
  169.    following is a summary of the renaming:
  170.    
  171.      objclg_adjust renamed to rc_gadjust.
  172.      objclv_adjust renamed to rc_vadjust.
  173.      objc_xywh     renamed to obj_xywh.
  174.      objrb_which   renamed to obj_rbwhich.
  175.      objst_change  renamed to obj_stchange.
  176.      objfl_change  renamed to obj_flchange.
  177.      graqon_mouse  renamed to gra_qonmouse.
  178.      graqof_mouse  renamed to gra_qofmouse.
  179.      graq_mstate   renamed to gra_qmstate.
  180.  
  181.  - A couple of new utility functions were formalized in this release:
  182.  
  183.      obj_rbfind  - find child object in a given state (eg, radio button).
  184.      obj_offxywh - get screen-adjusted x/y/w/h of object.
  185.  
  186. Summary of AES bindings changes in v1.30:
  187.  
  188.  - Fixed the emulation mode of fsel_exinput when running on a pre-TOS 1.4
  189.    system.  The emulation would die, 2 bombs, if run on a pre-1.4 system,
  190.    AND NOBODY REPORTED IT FOR OVER 6 MONTHS!  I finally discovered it 
  191.    myself when testing an application for 1.0 compatibility.  This tells
  192.    me that NOBODY is using this function, but that's cool, I'm gonna keep
  193.    supporting it anyway.
  194.    
  195. Summary of VDI bindings changes in v1.30:
  196.  
  197.  - Fixed a problem with vsl_ends().  The binding was coded to DRI specs,
  198.    but the DRI docs don't mention that the function returns 2 integers.
  199.    Since the DRI docs make no provisions for returning these values through
  200.    the binding, the fix simply prevents the bombs; the values are still not
  201.    returned to the calling application.
  202.  
  203. ;*************************************************************************
  204. ; GEMFAST v1.20 notes.
  205. ;*************************************************************************
  206.  
  207. Summary of AES bindings changes in v1.20:
  208.  
  209.  - The 'quick' mouse functions graqon_mouse(), graqof_mouse(), and
  210.    graq_mstate() were fixed to work under all TOS versions.
  211.    
  212.  - The shel_get() and shel_put() functions were implemented as described
  213.    in the TOS 1.4 release notes (see docs in GEMXTEND.DOC).
  214.  
  215.  - Another emulation version of fsel_exinput() was added.  This version
  216.    emulates the prompt feature only, beyond that it is identical to the
  217.    TOS 1.0 fsel.  This one is only half the size of the full emulation.
  218.    (Documented under fsel_smallexinput() in GEMXTEND.DOC).
  219.  
  220.  - A lot of the source modules were split into smaller modules containing
  221.    less functions.  This makes the library bigger, but might make your
  222.    programs a bit smaller, as there will be less tendancy to include 
  223.    pieces of the bindings that your program will never use.
  224.  
  225.  - A TST.W D0 instruction was added to the common return-to-user routine
  226.    so that the flags in the CCR will match the return value in register d0.
  227.    This is needed because the Laser C compiler assumes it will be so, and
  228.    will not generate TST.x instructions inline under some circumstances,
  229.    such as when a call is coded as "if (!rsrc_load(filename))".
  230.  
  231.  - A TST.W D0 (or equivelent) was also added to all the utility routines
  232.    which are not defined as type 'void'.
  233.  
  234. Summary of VDI bindings changes in v1.20:
  235.  
  236.  - A bug in v_contourfill() was fixed (call no longer causes 3 bombs).
  237.  
  238.  ; end of docs for v1.2
  239.  
  240. ;*************************************************************************
  241. ; GEMFAST v1.10 notes.
  242. ;*************************************************************************
  243.  
  244. Summary of AES bindings changes in v1.10:
  245.  
  246.  - A global variable was added to AES@NOTE such that the version number is 
  247.    part of the variable name.  Allows a quick version-check via a link map.
  248.  
  249.  - New TOS 1.4 function 'wind_new()' added (see GEMXTEND.DOC).
  250.  
  251.  - New TOS 1.4 function 'fsel_exinput()' (see GEMXTEND.DOC).
  252.  
  253.  - 'Undocumented' functions 'form_button()' and 'form_keybd()' added
  254.     (see GEMXTEND.DOC).
  255.  
  256.  - Some cleanup in AESCOMN.S.
  257.  
  258.  - All of the variables in the 'global' array now have unique global 
  259.    names which can be accessed from C (see GEMFBIND.DOC section 6.0).
  260.  
  261.  The AESFAST.A file is much bigger than v1.0.  This is primarily due to 
  262.  the addition the new fsel_exinput function (see below), and the vast
  263.  amount of code required to simulate its actions on pre-TOS 1.4 systems.
  264.  If you don't use this function, the increase in size won't affect you.
  265.  
  266. Summary of VDI bindings changes in v1.10:
  267.  
  268.  - A global variable was added to VDI@NOTE such that the version number is 
  269.    part of the variable name.  Allows a quick version-check via a link map.
  270.    
  271.  - Misnamed function vq_extend was renamed to vq_extnd in VDIINQR1.S
  272.  
  273.  - The stack parms for vq_extnd were wrong, now fixed.
  274.  
  275.  The VDIFAST.A file is slightly smaller.  This is due to a change in the
  276.  way I build the library.  Instead of adding everything to the library,
  277.  then running the Sozobon GLOBS program to remove non-global symbols from
  278.  the files, I ran GLOBS on each file individually before adding it to the
  279.  library.  I didn't expect any difference, and I don't know why there is
  280.  one, but since it made the library smaller I'm not complaining.
  281.  
  282.  ; end of doc.
  283.  
  284.